package com.dap.service;

import com.fasterxml.jackson.core.JsonProcessingException;

import java.util.List;
import java.util.Set;

public interface ApplicationService {

    /**
     * 获取应用列表
     * @return
     */
    List<String>  getApplicationList();

    /**
     * 获取服务列表
     * @param application 应用名
     * @return
     */
    List<String>  getInterfaceNameList(String application);

    /**
     * 获取分组列表
     * @param application  应用名
     * @param interfaceName 服务名
     * @return
     */
    List<String>  getGroupList(String application,String interfaceName);


    /**
     * 将应用，服务，和组信息存进redis
     * @param applicationName   应用信息
     * @param interfaceName   服务信息
     * @param groupName   组信息
     * @return
     */
//    Boolean setApplicationInfo(String applicationName,String interfaceName,String groupName);


    /**
     * 获取服务状态
     * @return
     */
    String getStutas();

    /**
     * 状态修改
     * @return
     */
    String changeStutas();

    /**
     * 是否Mock
     * @return
     */
    Boolean isMock();

    /**
     * 是否熔断
     * @return
     */
    Boolean isHystrix();

    /**
     * 是否限流
     * @return
     */
    Boolean isFlowControl();

    /**
     * 获取所有ip
     * @return
     */
    Set<String> ips();


}
